﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace dotUML.Core.Parser.SequenceDiagram
{
    /// <summary>
    /// Combined fragments parser interface.
    /// </summary>
    public interface ICombinedFragmentsParser : ISequenceDiagramElementParser
    {
        /// <summary>
        /// Parse generic combined fragment. 
        /// </summary>
        /// <param name="Xml">Xml block.</param>
        /// <returns>True if parsing was successful, otherwise - false.</returns>
        bool ParseCombinedFragment(string Xml);
        /// <summary>
        /// Parse combined fragment of type "alt". Checks that a message is present 
        /// at least in one of the sections of a combined element. If all sections 
        /// are empty an exception is thrown.
        /// </summary>
        /// <param name="Xml">Xml block.</param>
        /// <returns>True if parsing was successful, otherwise - false.</returns>
        bool ParseCombinedFragmentAlt(string Xml);
    }
}
